using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;

namespace Rocuna.Graphics.Core
{
    /// <summary>
    /// Tag to hold mesh additional data.
    /// </summary>
    public class MeshTag
    {
        #region Constructor

        /// <summary>
        /// Initializes a new instance of the <see cref="MeshTag"/> class.
        /// </summary>
        /// <param name="color">The color.</param>
        /// <param name="texture">The texture.</param>
        /// <param name="specularPower">The specular power.</param>
        public MeshTag(Vector3 color, Texture2D texture, float specularPower)
        {
            Color = color;
            Texture = texture;
            SpecularPower = specularPower;
        }

        #endregion

        #region Fields

        /// <summary>
        /// The color.
        /// </summary>
        public Vector3 Color;

        /// <summary>
        /// The Texture.
        /// </summary>
        public Texture2D Texture;

        /// <summary>
        /// The Specular power.
        /// </summary>
        public float SpecularPower;

        /// <summary>
        /// The Cached effect.
        /// </summary>
        public Effect CachedEffect = null;

        #endregion
    }
}